home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / VBASIC / NW41BAS.ZIP / NW4XPRNT.BAS < prev    next >
Encoding:
BASIC Source File  |  1995-05-02  |  7.0 KB  |  207 lines

  1. 'NW4XPRNT.BAS - Novell Netware 4.X Interface for Visual Basic for WIndows
  2. '     Contains functions for Printer Functions, Capture utilites and
  3. ' Printer definations
  4. ' Created - 4/25/95
  5. 'Requirements - NONE
  6.  
  7. '**  Call NWGetMaxPrinters() to see how many of these are valid.
  8.  
  9. Global Const LPT1 = 1
  10. Global Const LPT2 = 2
  11. Global Const LPT3 = 3
  12. Global Const LPT4 = 4
  13. Global Const LPT5 = 5
  14. Global Const LPT6 = 6
  15. Global Const LPT7 = 7
  16. Global Const LPT8 = 8
  17. Global Const LPT9 = 9
  18.  
  19. Global Const START_CAPTURE = 1
  20. Global Const END_CAPTURE = 2
  21. Global Const CANCEL_CAPTURE = 3
  22. Global Const GET_PRINT_JOB_FLAGS = 4
  23. Global Const SET_PRINT_JOB_FLAGS = 5
  24. Global Const GET_BANNER_USER_NAME = 6
  25. Global Const SET_BANNER_USER_NAME = 7
  26. Global Const GET_PRINTER_SETUP_STRING = 8
  27. Global Const SET_PRINTER_SETUP_STRING = 9
  28. Global Const GET_PRINTER_RESET_STRING = 10
  29. Global Const SET_PRINTER_RESET_STRING = 11
  30.  
  31. Type PrintJobStruct
  32.   clientStation As String * 1
  33.   clientTask As String * 1
  34.   clientID As Long
  35.   targetServerID As Long
  36.   targetExecutionTime As String * 6
  37.   jobEntryTime As String * 6
  38.   jobNumber As Integer
  39.   formType As Integer
  40.   jobPosition As String * 1
  41.   jobControlFlags As String * 1
  42.   jobFileName As String * 14
  43.   jobFileHandle As String * 16
  44.   servicingServerStation As String * 1
  45.   servicingServerTask As String * 1
  46.   servicingServerID As Long
  47.   jobDescription As String * 50
  48.   clientJobInfoVer As String * 1
  49.   tabSize As String * 1
  50.   numberCopies As Integer
  51.   printFlags As Integer
  52.   maxLines As Integer
  53.   maxChars As Integer
  54.   formName As String * 16
  55.   reserved As String * 6 '/* must be set to zeros */
  56.   bannerUserName As String * 13
  57.   bannerFileName As String * 13
  58.   bannerHeaderFileName As String * 14
  59.   filePathName As String * 80
  60. End Type
  61.  
  62. Type NWPrintJobStruct
  63.   clientStation As Long
  64.   clientTask As Long
  65.   clientID As Long
  66.   targetServerID As Long
  67.   targetExecutionTime As String * 6
  68.   jobEntryTime As String * 6
  69.   jobNumber As Long
  70.   formType As Integer
  71.   jobPosition As Integer
  72.   jobControlFlags As Integer
  73.   jobFileName As String * 14
  74.   jobFileHandle As Long
  75.   servicingServerStation As Long
  76.   servicingServerTask As Long
  77.   servicingServerID As Long
  78.   jobDescription As String * 50
  79.   clientJobInfoVer As String * 1
  80.   tabSize As String * 1
  81.   numberCopies As Integer
  82.   printFlags As Integer
  83.   maxLines As Integer
  84.   maxChars As Integer
  85.   formName As String * 16
  86.   reserved As String * 6   '/* must be set to zeros */
  87.   bannerUserName As String * 13
  88.   bannerFileName As String * 13
  89.   bannerHeaderFileName As String * 14
  90.   filePathName As String * 80
  91. End Type
  92.  
  93. Type PRINTER_STATUS
  94.   printerHalted As String * 1
  95.   printerOffline As String * 1
  96.   currentFormType As String * 1
  97.   redirectedPrinter As String * 1
  98. End Type
  99.  
  100. Type NWCAPTURE_FLAGS1
  101.   jobDescription As String * 50   'OS/2, VLM only
  102.                                   'VLM returns or sets only 12 characters */
  103.                                   'plus the NULL -- a total of 13 BYTEs   */
  104.   jobControlFlags As String * 1      'OS/2, VLM only */
  105.   tabSize As String * 1
  106.   numCopies As Integer
  107.   printFlags As Integer
  108.   maxLines As Integer
  109.   maxChars As Integer
  110.   formName As String * 13
  111.   reserved As String * 9
  112.   formType As Integer
  113.   bannerText As String * 13
  114.   reserved2 As String * 1
  115.   flushCaptureTimeout As Integer    'DOS/WIN only
  116.   flushCaptureOnClose As String * 1 'DOS/WIN only
  117. End Type
  118.  
  119. Type NWCAPTURE_FLAGS2
  120.   connID As Integer
  121.   queueID As Long
  122.   setupStringMaxLen As Integer
  123.   resetStringMaxLen As Integer
  124.   LPTCaptureFlag As String * 1         'DOS/WIN only
  125.   fileCaptureFlag As String * 1        'DOS/WIN only
  126.   timingOutFlag As String * 1    'DOS/WIN only
  127.   inProgress As String * 1       'DOS/WIN only */
  128.   printQueueFlag As String * 1   'DOS/WIN only */
  129.   printJobValid As String * 1    'DOS/WIN only */
  130.   queueName As String * 65       'VLM only     */
  131. End Type
  132.  
  133. Type CaptureFlagsStruct
  134.   status As String * 1
  135.   flags As String * 1
  136.   tabSize As String * 1
  137.   serverPrinter As String * 1
  138.   numberCopies As String * 1
  139.   formType As String * 1
  140.   reserved As String * 1
  141.   bannerText As String * 13
  142.   reserved2 As String * 1
  143.   localLPTDevice As String * 1
  144.   captureTimeOutCount As Integer
  145.   captureOnDeviceClose As String * 1
  146. End Type
  147.  
  148. Type FlagBufferStruct
  149.   status As String * 1
  150.   flags As String * 1
  151.   tabSize As String * 1
  152.   serverPrinter As String * 1
  153.   numberCopies As String * 1
  154.   formType As String * 1
  155.   reserved As String * 1
  156.   bannerText As String * 13
  157.   reserved2 As String * 1
  158.   localLPTDevice As String * 1
  159.   captureTimeOutCount As Integer
  160.   captureOnDeviceClose As String * 1
  161.   maxLines As Integer
  162.   maxChars As Integer
  163.   formName As String * 13
  164.   LPTCaptureFlag As String * 1
  165.   fileCaptureFlag As String * 1
  166.   timingOutFlag As String * 1
  167.   printerSetupBuffAddr As String * 1 'char NWPTR
  168.   printerResetBuffAddr As String * 1 'char NWPTR
  169.   connID As Integer  'May not be Vyte - Original decl as NWCONN_ID_BYTE
  170.   captureInProgress As String * 1
  171.   printQueueFlag As String * 1
  172.   printJobValid As String * 1
  173.   queueID As Long
  174.   printJobNumber As Integer
  175. End Type
  176.  
  177. 'Used by VLM code
  178. Type ExtendedCaptureFlags
  179.   nameNDSID As Long
  180.   connHandle As Integer
  181.   queueName As String * 65
  182.   targetServerID As Long
  183.   targetExecutionTime As String * 6
  184.   jobControlFlags As Integer
  185.   bannerName As String * 13
  186.   jobDescription As String * 13
  187.   reserved As Long
  188. End Type
  189.  
  190. 'Netware 2.15 Only
  191. Declare Function NWGetPrinterStatus Lib "NWCALLS.DLL" (ByVal conn%, ByVal printerNumber%, status As PRINTER_STATUS) As Integer
  192.  
  193. Declare Function NWStartFileCapture Lib "NWCALLS.DLL" (ByVal conn%, ByVal LPTDevice%, ByVal dirhandle%, ByVal filePath$) As Integer
  194. Declare Function NWStartQueueCapture Lib "NWCALLS.DLL" (ByVal conn%, ByVal LPTDevice%, ByVal queueID&, ByVal queueName$) As Integer
  195. Declare Function NWGetCaptureStatus Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
  196. Declare Function NWFlushCapture Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
  197. Declare Function NWEndCapture Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
  198. Declare Function NWCancelCapture Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
  199. Declare Function NWGetBannerUserName Lib "NWCALLS.DLL" (ByVal userName$) As Integer
  200. Declare Function NWSetBannerUserName Lib "NWCALLS.DLL" (ByVal userName$) As Integer
  201. Declare Function NWGetCaptureFlags Lib "NWCALLS.DLL" (ByVal LPTDevice%, captureFlags1 As NWCAPTURE_FLAGS1, captureFlags2 As NWCAPTURE_FLAGS2) As Integer
  202. Declare Function NWSetCaptureFlags Lib "NWCALLS.DLL" (ByVal conn%, ByVal LPTDevice%, captureFlags1 As NWCAPTURE_FLAGS1) As Integer
  203. Declare Function NWGetPrinterStrings Lib "NWCALLS.DLL" (ByVal LPTDevice%, setupStringLen%, ByVal setupString$, resetStringLen%, ByVal resetString$) As Integer
  204. Declare Function NWSetPrinterStrings Lib "NWCALLS.DLL" (ByVal LPTDevice%, ByVal setupStringLen%, ByVal setupString$, resetStringLen%, ByVal resetString$) As Integer
  205. Declare Function NWGetMaxPrinters Lib "NWCALLS.DLL" (numPrinters%) As Integer
  206.  
  207.